package com.asset.service;

import com.asset.dto.UserDto;
import com.asset.pojo.User;
import com.asset.util.PageResult;
import org.springframework.security.core.userdetails.UserDetailsService;

import java.util.List;

/**
 * 用户信息管理
 * @author 11725
 */
public interface UserService extends UserDetailsService {

    /**
     * 分页查询用户信息
     * @param page          当前页码
     * @param rows          单页最大记录数
     * @param keyword       关键词：用户名 or 姓名
     * @param depaId        部门编号
     * @param rid           角色编号
     * @return              封装 UserDto 集合与元数据的对象
     */
    PageResult<UserDto> selectByPage(Integer page, Integer rows, String keyword, Long depaId, Long rid);

    /**
     * 根据用户 id 查询用户信息
     * @param id
     * @return
     */
    UserDto selectById(Long id);

    /**
     * 获取已登录用户的信息
     * @return
     */
    UserDto verify();

    /**
     * 根据 id 列表查询用户信息
     * @param ids
     * @return
     */
    List<UserDto> selectByIds(List<Long> ids);
}
